package org.jeecg.modules.zcgl.entity;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

import com.baomidou.mybatisplus.annotation.*;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.jeecg.common.aspect.annotation.Dict;
import org.jeecg.modules.system.controller.SysDictController;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;

/**
 * @Description: 固定资产
 * @Author: jeecg-boot
 * @Date:   2021-06-30
 * @Version: V1.0
 */
@Data
@TableName("zcgl_asset_fixed")
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="zcgl_asset_fixed对象", description="固定资产")
public class AssetFixed {

	/**id*/
	@TableId(type = IdType.ID_WORKER_STR)
	@ApiModelProperty(value = "id")
	private String id;

	@Dict(dicCode = "gf_zcgl_asset_type")
	@Excel(name = "物资分类", width = 15, dicCode = "gf_zcgl_asset_type")
//	@Excel(name = "资产类型", width = 15, dictTable = "zcgl_asset_category", dicText = "name", dicCode = "id")
	@ApiModelProperty(value = "物资分类")
	private String assetType;

	/**编码*/
	@Excel(name = "物资编码", width = 15)
	@ApiModelProperty(value = "物资编码")
	private String code;

	@ApiModelProperty(value = "小分类")
	@Dict(dicCode = "bgyp_type")
	@Excel(name = "办公用品子分类", width = 15,dicCode = "bgyp_type")
	private String bgypType;

	@ApiModelProperty(value = "小分类")
	@Dict(dicCode = "chwz_type")
//	@Excel(name = "存货物资子分类", width = 15,dicCode = "chwz_type")
	private String chwzType;



	/**产品名称*/
	@Excel(name = "物资名称", width = 15)
	@ApiModelProperty(value = "物资名称")
	private String name;

	/**规格型号*/
	@Excel(name = "规格型号", width = 15)
	@ApiModelProperty(value = "规格型号")
	@TableField(fill = FieldFill.INSERT_UPDATE)
	private String specifications;
	/**单位*/
	@ApiModelProperty(value = "单位")
	@Dict(dicCode = "zcgl_dw")
	@Excel(name = "单位", width = 15, dicCode = "zcgl_dw")
	private String unit;

	/**数量*/
	@Excel(name = "数量", width = 15)
	@ApiModelProperty(value = "数量")
	private BigDecimal amount;
	/**库存预警界限*/
	@Excel(name = "安全库存", width = 15)
	@ApiModelProperty(value = "安全库存")
	private BigDecimal jiexian;

	/**备注*/
	@Excel(name = "备注", width = 15)
	@ApiModelProperty(value = "备注")
	private String remark;



	/**所属单位*/
//	@Excel(name = "所属单位", width = 15,dictTable = "zcgl_asset_fixed_category",dicCode = "id",dicText = "name")
	@ApiModelProperty(value = "所属单位")
	@Dict(dictTable = "zcgl_asset_fixed_category",dicCode = "id",dicText = "name")
	@TableField(fill = FieldFill.INSERT_UPDATE)
	private String  assetFixedCategoryId;



	/**单价*/
	@ApiModelProperty(value = "单价")
	private java.math.BigDecimal price;
	/**合价*/
	@ApiModelProperty(value = "合价")
	private java.math.BigDecimal total;
	/**采购日期*/
//	@Excel(name = "采购日期", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	@ApiModelProperty(value = "采购日期")
	private Date purchaseDate;
	/**图片*/
//	@Excel(name = "图片", width = 15)
	@ApiModelProperty(value = "图片")
	private String image;
	/**材质说明*/
	@ApiModelProperty(value = "材质说明")
	private String description;
	/**楼层*/
	@ApiModelProperty(value = "楼层")
	private String floor;
	/**尺寸*/
	@ApiModelProperty(value = "尺寸")
	private String assetSize;
	/**款式*/
	@ApiModelProperty(value = "款式")
	private String assetStyle;
	/**技术参数*/
	@ApiModelProperty(value = "技术参数")
	private String technicalParameters;
	/**品牌*/
	@ApiModelProperty(value = "品牌")
	private String brand;
	/**所属单位*/
//	@Excel(name = "所属单位", width = 15)
	@ApiModelProperty(value = "所属单位")
	@Dict(dicCode = "subordinate_units")
	private String subordinateUnits;
	/**状态 0-未生效 1-生效 2-借出 3-维修中 4-报废*/
	@ApiModelProperty(value = "状态")
	@Dict(dicCode = "asset_fixed_status")
	private String status;





	/**createBy*/
	@ApiModelProperty(value = "createBy")
	private String createBy;
	/**createTime*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	@ApiModelProperty(value = "createTime")
	private Date createTime;
	/**updateBy*/
	@ApiModelProperty(value = "updateBy")
	private String updateBy;
	/**updateTime*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	@ApiModelProperty(value = "updateTime")
	private Date updateTime;

	/**采购部门*/
	@ApiModelProperty(value = "采购部门")
	private String purchasingDepartment;

	/**原值*/
	@ApiModelProperty(value = "原值")
	private BigDecimal originalCost;

	/**累计折扣*/
	@ApiModelProperty(value = "累计折扣")
	private BigDecimal accumulativeDiscount;

	/**净残值率*/
	@ApiModelProperty(value = "净残值率")
	private BigDecimal residualValueRate;

	/**净残值*/
	@ApiModelProperty(value = "净残值")
	private BigDecimal residualValue;

	/**折旧方法*/
//	@Excel(name = "折旧方法", width = 15,dicCode = "depreciation_method")
	@ApiModelProperty(value = "折旧方法")
	@Dict(dicCode = "depreciation_method")
	private BigDecimal depreciationMethod;

	/**月折旧率*/
	@ApiModelProperty(value = "月折旧率")
	private BigDecimal monthDepreciationRate;

	/**月折旧额*/
	@ApiModelProperty(value = "月折旧额")
	private BigDecimal monthDepreciation;

	/**预计使用年限*/

	@ApiModelProperty(value = "预计使用年限")
	private Integer expectedServiceLife;


	/**删除"*/

	@ApiModelProperty(value = "删除")
	private Integer delFlag;

	/**理论上数量*/
	@TableField(exist = false)
	private BigDecimal trueCount;
	/**流程中数量*/
	@TableField(exist = false)
	private BigDecimal lcCount;

	/**安全表示*/
	@TableField(exist = false)
	private String safeType;


	/**仓库名字*/
	@TableField(exist = false)
	private String ckName;


}
